// pages/product/product.js
import {Products} from 'products-model.js';
import {Cart} from '../cart/cart-model.js';
var products = new Products();
var cart = new Cart();

Page({

  /**
   * 页面的初始数据
   */
  data: {

    // 初始化详情页购买数量属性
    productCountArr: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
    productCount: 1,
    currentTabsIndex: 0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
   this.data.productId = options.productId;

   this.__loadData();
  },

  __loadData: function () {
    // 获取商品详情
    products.getProductDetail(this.data.productId, (detail) => {
      this.setData({
        productDetail: detail, // 绑定商品详情数据
        cartTotalCount: cart.getCartProductCount(false) // 获取购物车的总商品数量
      })
    });
  },

  // 修改下单商品数量
  bindClickCount: function (event) {
    var index = event.detail.value,
    productCount = this.data.productCountArr[index];
    this.setData({
      productCount: productCount
    })
  },

  // 切换商品详情页tab栏
  changTabsItem: function(event) {
    var index = products.getDataSet(event, 'index');
    this.setData({
      currentTabsIndex : index
    })
  },

  // 添加购物车
  onAddingToCart: function (event) {
    this.addToCart();
    // 动态修改购物车商品数量
    this.setData({
      cartTotalCount: this.data.cartTotalCount + this.data.productCount
  })
  },

  // 切换菜单栏
  onCartTap: function(event) {
    wx.switchTab({
      url: '../cart/cart',
    })
  },

  // 调用购物车类方法，把商品数据添加到购物车
  addToCart: function (){
    var keys = ['id', 'name', 'price', 'main_img_url'];
    var tempObj = {};

    for (var key in this.data.productDetail) {
      if (keys.indexOf(key) >= 0) {
        tempObj[key] = this.data.productDetail[key];
      }
    }

    // 添加购物车
    cart.add(tempObj, this.data.productCount);
  }
})